/*
 *  Copyright © 2021-2023 Innospots (http://www.innospots.com)
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License. You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package io.innospots.libra.kernel.module.system.model.role.resource;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * @author chenc
 * @version 1.0.0
 * @date 2022/2/3
 */
@Getter
@Setter
@Schema(title = "Role Resource Info")
public class RoleResourceInfo {

    private Integer roleResourceId;

    @Schema(title = "sys_role primary id")
    private Integer roleId;

    /**
     * 直接使用itemKey，不再使用resourceId
     */
    /*
    @Deprecated
    @Schema(title = "sys_menu_resource primary id, which is empty when resourceType is operation")
    private Integer resourceId;
     */

    @Schema(title = "menu item or operation item unique key")
    private String itemKey;

    private RoleResourceType resourceType;


    public enum RoleResourceType {
        /**
         *
         */
        MENU,
        OPERATION;
    }
}